package main

// 滑动窗口: 窗口长度为 k
func containsNearbyDuplicate(nums []int, k int) bool {
	numMap := make(map[int]int, 0)
	for i, j := 0, 0; j < len(nums); j++ {
		if j-i > k {
			numMap[nums[i]] -= 1
			i++
		}
		// 扩大窗口
		numMap[nums[j]] += 1
		if numMap[nums[j]] == 2 {
			return true
		}
	}
	return false
}
